  /**
   * 工具类对象
   */
  const util = require("../utils/util");

  /**
   * 修改匿称
   * @param {Object} params 参数：{nickname:String,success:Function}
   */
  const updateNickname = function (params) {
    let url = util.getBaseUrl() + "/api/user/updateNickname";
    let data = {
      token: util.getToken(),
      nickname: params.nickname
    };

    util.request({
      url: url,
      method: "POST",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 修改头像
   * @param {Object} params 参数：{head_image:String,success:Function}
   */
  const updateHeadImage = function (params) {
    let url = util.getBaseUrl() + "/api/user/updateHeadImage";
    let data = {
      token: util.getToken(),
      head_image: params.head_image
    };

    util.request({
      url: url,
      method: "POST",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 取得七牛上传Toekn
   * @param {Object} params 参数：
   * @member success {Function} 成功回调函数
   */
  const getUploadToken = function (params) {
    let url = util.getBaseUrl() + "/api/common/getUploadToken";
    let data = {
      token: util.getToken(),
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 微信小程序登录
   * @param {Object} params 参数：{code:(String)*用户授权获得code,
      channel:(String)扫描或分享链接带过来的渠道码,
      nickname:(String)昵称,
      head_image:(String)头像路径,
      success:(Function)成功回调函数}
   */
  const loginByWechatCode = function (params) {
    let url = util.getBaseUrl() + "/api/user/loginByWechatCode";
    let data = {
      code: params.code,
      channel: params.channel,
      hash: 'lhbb',
      nickname: params.nickname,
      head_image: params.head_image,
    };

    util.request({
      url: url,
      method: "POST",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 个人中心
   * @param {*} params {success:(Function)成功回调函数}
   */
  const home = function (params) {
    let url = util.getBaseUrl() + "/api/gateway/user/home";
    let data = {
      token: wx.getStorageSync('token'),
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }
  /**
   * 取得微信地址
   * @param {Object} params {success:(Function)成功回调函数}
   */
  const chooseAddress = function (params) {
    wx.chooseAddress({
      success(res) {
        // console.log("chooseAddress,res", res)
        params.success(res)
      },
      fail(res) {
        params.fail(res)
      },
      complete(res) {
        params.complete(res)
      }

    })
  }

  /**
   * 分享渠道码
   * @param {Object} params 参数对象
   * @member {Function} success 成功回调的函数
   */
  const getUserChannel = function (params) {
    let url = util.getBaseUrl() + "/api/user/getUserChannel";
    let data = {
      token: util.getToken(),
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }
  /**
   * 订单列表
   * @param {*} params 参数对象，成员如下：
   * @member page {String} 当前页
   * @member page_size {String} 每页显示数量
   * @member status {String} 状态：1 待支付，2 已支付
   * @member logistics_status {String} 物流状态：1.待发货，2 待收货，3 已收货
   * @member is_apply_after_sale {String} 售后状态：0: 未申请售后，1：申请售后
   * @member success {Function} 成功回调函数
   */
  const orderList_20221124 = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderList";
    let data = {
      token: util.getToken(),
      page: params.page,
      page_size: params.page_size,
      status: params.status,
      logistics_status: params.logistics_status,
      is_apply_after_sale: params.is_apply_after_sale,

    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 订单列表
   * @param {*} params 参数对象，成员如下：
   * @member page {String} 当前页
   * @member page_size {String} 每页显示数量
   * @member show_status {String} 状态：0 全部，1：待支付， 2：已发货（待收货），3 已完成，4 申请售后
   * @member success {Function} 成功回调函数
   */
  const orderList = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderList";
    let data = {
      token: util.getToken(),
      page: params.page,
      page_size: params.page_size,
      show_status: params.show_status,

    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 订单详情
   * @param {*} params 参数，成员如下：
   * @member order_sn {String} 订单号
   * @member success {Function} 成功回调函数
   */
  const orderDetail = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderDetail";
    let data = {
      token: util.getToken(),
      order_sn: params.order_sn,
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }
  /**
   * 订单删除
   * @param {*} params 参数对象，成员如下：
   * @member order_sn {String} 订单号
   * @member success {Function} 成功回调函数
   */
  const orderDelete = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderDelete";
    let data = {
      token: util.getToken(),
      order_sn: params.order_sn,
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }
  /**
   * 确认收货
   * @param {*} params 参数对象，成员如下：
   * @member order_sn {String} 订单号
   * @member success {Function} 成功回调函数
   */
  const orderConfirm = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderConfirm";
    let data = {
      token: util.getToken(),
      order_sn: params.order_sn,
    };

    util.request({
      url: url,
      method: "POST",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  /**
   * 订单物流
   * @param {*} params 参数对象，成员如下：
   * @member order_sn {String} 订单号
   * @member type {String} 类型：1：发货，2：售后寄回
   * @member success {Function} 成功回调函数
   */
  const orderLogistics = function (params) {
    let url = util.getBaseUrl() + "/api/user/orderLogistics";
    let data = {
      token: util.getToken(),
      order_sn: params.order_sn,
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

  
  /**
   * 用户协议，隐私条款
   * @param {*} params 参数对象，成员如下：
   * @member type {String} 类型：1：隐私条款，2：用户协议 
   */
  const getagreement = function (params) {
    let url = util.getBaseUrl() + "/api/user/privacyInfo";
    let data = {
      token: util.getToken(),
      type: params.type,
    };

    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        // console.log("res", res)
        params.success(res)
      }
    })
  }

    /**
   * 分享赠送领取
   */
  const sharegifts = function (params) {
    let url = util.getBaseUrl() + "/api/member/getShareOrderList";
    let data = {
      token: util.getToken(),
    };
    util.request({
      url: url,
      method: "GET",
      data: data,
      success(res) {
        params.success(res)
      }
    })
  }


    /**
   * 更新用户信息
   */
     const updateUserInfo = function (params) {
      let url = util.getBaseUrl() + "/api/user/updateUserInfo";
      let data = {
        //token: util.getToken(),
        token: wx.getStorageSync('token'),
        head_image:params.head_image,
        nickname:params.nickname,
      };
      util.request({
        url: url,
        method: "POST",
        data: data,
        success(res) {
          params.success(res)
        }
      })
    }

    /**
   * 申请兼职 
   */
  const applyJob = function (params) {
    let url = util.getBaseUrl() + "/api/user/applySaler";
    let data = {
      token: wx.getStorageSync('token'),
      name:params.name,
      contact_phone:params.contact_phone,
      apply_area:params.apply_area,
    };
    util.request({
      url: url,
      method: "POST",
      data: data,
      success(res) {
        params.success(res)
      }
    })
  }


  module.exports = {
    updateNickname,
    updateHeadImage,
    getUploadToken,
    loginByWechatCode,
    home,
    chooseAddress,
    getUserChannel,
    orderList,
    orderDetail,
    orderDelete,
    orderConfirm,
    orderLogistics,
    getagreement,
    sharegifts,
    updateUserInfo,
    applyJob
  }